16 research outputs found

    Run-time Adaptation of Role-based Software Systems

    Get PDF
    Self-adaptive software systems possess the ability to modify their own structure or behavior in response to changes in their operational environment. Access to sensor data providing information on the monitored environment is a necessary prerequisite in such software systems. In the future, self-adaptive software systems will be increasingly distributed and interconnected to perform their assigned tasks, e.g., within smart environments or as part of autonomous systems. Adaptations of the software systems\\\' structure or behavior will therefore have to be performed consistently on multiple remote subsystems. Current approaches, however, do not completely support the run-time adaptation of distributed and interconnected software systems. Supported adaptations are local to a specific device and do not require further coordination or the execution of such adaptations is controlled by a centralized management system. Approaches that support the decentralized adaptation process, help to determine a stable state, e.g., defined by quiescence, of one adaptable entity without central knowledge ahead of the actual adaptation process. The execution of complex adaptation scenarios comprising several adaptations on multiple computational devices is currently not supported. Consequently, inherent properties of a distributed system such as intermittent connectivity or local adaptation failures pose further challenges on the execution of adaptations affecting system parts deployed to multiple devices. Adaptation operations in the current research landscape cover different types of changes that can be performed upon a self-adaptive software system. Simple adaptations allow the modification of bindings between components or services as well as the removal or creation and integration of such components or services into the system. Semantically more expressive operations allow for the relocation of behavioral parts of the system. In this thesis, a coordination protocol is presented that supports the decentralized execution of multiple, possibly dependent adaptation operations and ensures a consistent transition of the software system from its source to a desired target configuration. An adaptation operation describes exactly one behavioral modification of the system, e.g., the addition or replacement of a component representing a behavioral element of the system\\\'s configuration. We rely on the notion of Roles as an abstraction to define the software system\\\'s static and dynamic, i.e., context-dependent, parts. Roles are an intuitive means to describe behavioral adaptations in distributed, context-dependent software systems due to their behavioral, relational and context-dependent nature. Adaptation operations therefore utilize the Role concept to describe the intended run-time modifications of the software system. The proposed protocol is designed to maintain a consistent transition of the software system from a given source to a target configuration in the presence of link failures between remote subsystems, i.e., messages used by the protocol to coordinate the adaptation process are lost on transmission, and in case of local failures during the adaptation process. The evaluation of our approach comprises two aspects: In one step, the correctness of the coordination protocol is formally validated using the model checking tool PRISM. The protocol is shown to be deadlock-free even in the presence of coordination message losses and local adaptation failures. In a second step, the approach is evaluated with the help of an emulated execution environment in which the degree of coordination message losses and adaptation failures is varied. The adaptation duration and the partial unavailability of the system, i.e., the time roles are passive due to ongoing adaptations, is measured as well as the success rate of the adaptation process for different rates of message losses and adaptation failures

    Position paper: Runtime Model for Role-based Software Systems

    Get PDF
    In the increasingly dynamic realities of today's software systems, it is no longer feasible to always expect human developers to react to changing environments and changing conditions immediately. Instead, software systems need to be self-aware and autonomously adapt their behavior according to their experiences gathered from their environment. Current research provides role-based modeling as a promising approach to handle the adaptivity and self-awareness within a software system. There are established role-based systems e.g., for application development, persistence, and so on. However, these are isolated approaches using the role-based model on their specific layer and mapping to existing non-role-based layers. We present a global runtime model covering the whole stack of a software system to maintain a global view of the current system state and model the interdependencies between the layers. This facilitates building holistic role-based software systems using the role concept on every single layer to exploit its full potential, particularly adaptivity and self-awareness

    Decentralized Coordination of Dynamic Software Updates in the Internet of Things

    Get PDF
    Large scale IoT service deployments run on a high number of distributed, interconnected computing nodes comprising sensors, actuators, gateways and cloud infrastructure. Since IoT is a fast growing, dynamic domain, the implementation of software components are subject to frequent changes addressing bug fixes, quality insurance or changed requirements. To ensure the continuous monitoring and control of processes, software updates have to be conducted while the nodes are operating without losing any sensed data or actuator instructions. Current IoT solutions usually support the centralized management and automated deployment of updates but are restricted to broadcasting the updates and local update processes at all nodes. In this paper we propose an update mechanism for IoT deployments that considers dependencies between services across multiple nodes involved in a common service and supports a coordinated update of component instances on distributed nodes. We rely on LyRT on all IoT nodes as the runtime supporting local disruption-minimal software updates. Our proposed middleware layer coordinates updates on a set of distributed nodes. We evaluated our approach using a demand response scenario from the smart grid domain

    Decentrally Coordinated Execution of Adaptations in Distributed Self-Adaptive Software Systems

    Get PDF
    Software systems in domains like Smart Cities, the Internet of Things or autonomous cars are coined by a high degree of distribution across several independent computing devices and the requirement to be able to adjust themselves to varying situations in their operational environment. Self-adaptive software systems are a natural choice to implement such context-dependent software systems. A multitude of approaches already implement self-adaptive systems and some consider even distribution aspects.Yet, none of the existing solutions supports the coordination of adaptation operations spanning multiple independent nodes, which is necessary to ensure a consistent adaptation even in presence of network errors or node failures. In this paper, we tackle this challenge to execute adaptations in distributed self-adaptive software systems in a coordinated manner. We present a protocol that enables the self-adaptive software system to execute correlated adaptations on multiple nodes in a transactional manner ensuring an atomic and consistent transition of the distributed system from its source to the desired target configuration. The protocol is validated to be free of deadlocks for any given adaptation at any point in time using a model-checking approach. The performance of our approach is investigated in experiments that emulate the protocol's execution on real devices for different sizes of distributed applications and adaptation scenarios

    Run-time Adaptation of Role-based Software Systems

    Get PDF
    Self-adaptive software systems possess the ability to modify their own structure or behavior in response to changes in their operational environment. Access to sensor data providing information on the monitored environment is a necessary prerequisite in such software systems. In the future, self-adaptive software systems will be increasingly distributed and interconnected to perform their assigned tasks, e.g., within smart environments or as part of autonomous systems. Adaptations of the software systems\\\' structure or behavior will therefore have to be performed consistently on multiple remote subsystems. Current approaches, however, do not completely support the run-time adaptation of distributed and interconnected software systems. Supported adaptations are local to a specific device and do not require further coordination or the execution of such adaptations is controlled by a centralized management system. Approaches that support the decentralized adaptation process, help to determine a stable state, e.g., defined by quiescence, of one adaptable entity without central knowledge ahead of the actual adaptation process. The execution of complex adaptation scenarios comprising several adaptations on multiple computational devices is currently not supported. Consequently, inherent properties of a distributed system such as intermittent connectivity or local adaptation failures pose further challenges on the execution of adaptations affecting system parts deployed to multiple devices. Adaptation operations in the current research landscape cover different types of changes that can be performed upon a self-adaptive software system. Simple adaptations allow the modification of bindings between components or services as well as the removal or creation and integration of such components or services into the system. Semantically more expressive operations allow for the relocation of behavioral parts of the system. In this thesis, a coordination protocol is presented that supports the decentralized execution of multiple, possibly dependent adaptation operations and ensures a consistent transition of the software system from its source to a desired target configuration. An adaptation operation describes exactly one behavioral modification of the system, e.g., the addition or replacement of a component representing a behavioral element of the system\\\'s configuration. We rely on the notion of Roles as an abstraction to define the software system\\\'s static and dynamic, i.e., context-dependent, parts. Roles are an intuitive means to describe behavioral adaptations in distributed, context-dependent software systems due to their behavioral, relational and context-dependent nature. Adaptation operations therefore utilize the Role concept to describe the intended run-time modifications of the software system. The proposed protocol is designed to maintain a consistent transition of the software system from a given source to a target configuration in the presence of link failures between remote subsystems, i.e., messages used by the protocol to coordinate the adaptation process are lost on transmission, and in case of local failures during the adaptation process. The evaluation of our approach comprises two aspects: In one step, the correctness of the coordination protocol is formally validated using the model checking tool PRISM. The protocol is shown to be deadlock-free even in the presence of coordination message losses and local adaptation failures. In a second step, the approach is evaluated with the help of an emulated execution environment in which the degree of coordination message losses and adaptation failures is varied. The adaptation duration and the partial unavailability of the system, i.e., the time roles are passive due to ongoing adaptations, is measured as well as the success rate of the adaptation process for different rates of message losses and adaptation failures

    Coordinated Execution of Adaptation Operations in Distributed Role-based Software Systems

    Get PDF
    Future applications will run in a highly heterogeneous and dynamic execution environment that forces them to adapt their behavior and offered functionality depending on the user's or the system's current situation. Since application components in such heterogeneous multi-device systems will be distributed over multiple interconnected devices and cooperate to achieve a common goal, a coordinated adaptation is required to ensure a consistent system behavior. In this paper we present a decentralized adaptation middleware to adapt a distributed software system. Our approach supports the reliable execution of multiple adaptation operations that depend on each other and are performed transactionally even in unsteady environments coined by message loss or node failures. We implemented our approach in a search-and-rescue robot scenario to show its feasibility and conduct first performance evaluations

    High frequency GPR measurements in comparison to detailed snow profiles

    No full text
    Snow stratigraphy in Antarctica is strongly influenced by wind. This results in a complex stratigraphy. Yearly accumulation is often masked by intermediate erosion and deposition events. Kohnen-Station has a higher accu- mulation than the very low accumulation areas of East Antarctica, and therefore is suited to investigate complex stratigraphy. Here we use very high frequency GPR at 1.6 GHz to resolve stratigraphy. We compared the GPR mea- surements with detailed snow profiles measured using near-infrared photography and translucent profiles. Detailed depositional features, as dunes and cross-bedding are visible. First results show very complex patterns, which are not easily correlated to other features, and not necessarily to yearly accumulation

    The influence of spatial variability of polar firn on microwave emission

    No full text
    Precise measurements of snow structural parameters and stratigraphy are essential to understand and model the radiative properties of the snow cover. However, most snow measurements are limited in spatial resolution and by extensive measurement times, which particularly constrains their applicability in harsh polar environments. For this reason, we developed a statistical model to derive three major snow structural parameters, density, correlation length and specific surface area solely from a portable, high-resolution penetrometer. We demonstrate the potential of the method by a 25 m long and 1.1 m deep transect through Antarctic firn at Kohnen Station, Antarctica, which reveals the stratigraphic features of the firn clearly. Based on these data, we run the Microwave Emission Model of Layered Snowpacks (MEMLS) and analyze the influence of the spatial variability of the firn around Kohnen Station on the microwave emission of the snowpack. We discuss the potential and limitations of the method and highlight the need for spatially distributed, quantitative measurements for modeling the microwave emission from polar snow and firn

    Reducing Spatial Uncertainty: Stratigraphy of Antarctic Firn Resolved by High-Resolution Penetrometry

    No full text
    Precise measurements of snow structural parameters are crucial to understand snow stratigraphy and its formation by deposition and metamorphism. However, most snow measurements are limited in spatial and temporal resolution, and an important limiting factor is often the time needed to make measurements. We demonstrate the potential of a high-resolution penetrometer by the stratigraphy of a 25 m long and 1.1 m deep transect through the snow and firn at Kohnen Station, Antarctica. We used a statistical model that extracts three major snow structural parameters, density (rho), correlation length (lex) and specific surface area (SSA). We could show using independent measurements from the site that the statistical model is indeed sufficient. The two-dimensional plots reveal the depositional and metamorphic events clearly. Based on these data, we are able to make a much more complete interpretation of the stratigraphic evolution at Kohnen Station. SnowMicroPen derived density of a 1.10 m deep and 25 m long snow and firn transect at Kohnen Station, Antarctica, measured in December 2012
    corecore